package com.qzyh.esb.egsa.utils;

import com.qzyh.esb.egsa.bean.vo.MenuTreeVO;
import com.qzyh.esb.egsa.entity.Menu;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

@Mapper(componentModel = "spring")
public interface MenuConverter {

    // 实例
    MenuConverter INSTANCE = Mappers.getMapper(MenuConverter.class);

    /**
     * Menu 转化为 MenuTreeVO
     * @param menu
     * @return
     */
    MenuTreeVO menuToMenuTreeVO(Menu menu);

    // 	当执行 下面这个List的转换时，会遍历list: MenuList，
    //  然后自动调用上面的Menu转MenuTreeVO的转换方法，来进行转换
    /**
     * MenuList 转化为 MenuTreeVOList
     * @param menuList
     * @return
     */
    List<MenuTreeVO> menuListToMenuTreeVOList(List<Menu> menuList);

}
